package com.jmars.TS.util;

import java.io.*;

/**
 * @Author: cly
 * @DateTime: 2021/12/22 11:26
 * @msg:
 */
public class FileUtil {
    /**
     *
     * @param is 传入流
     * @param file_path 存入文件夹
     * @param file_name 传入文件名
     * @throws Exception
     */
    public static void saveFile(InputStream is,String file_path,String file_name) throws Exception {
        // 1K的数据缓冲
        byte[] bs = new byte[1024];
        // 读取到的数据长度
        int len;
        // 输出的文件流
        //判断文件夹是否存在，不存在则创建
        File filePath = new File(file_path);
        if (!filePath.exists()) {
            filePath.mkdirs();
        }
        File file = new File(file_path+"\\"+file_name);
        FileOutputStream os = null;
        try {
            os = new FileOutputStream(file, true);
            // 开始读取
            while ((len = is.read(bs)) != -1) {
                os.write(bs, 0, len);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            throw e;
        } catch (IOException e) {
            e.printStackTrace();
            throw e;
        }finally {
            //System.out.println(i);
            // 完毕，关闭所有链接
            try {
                os.close();
            } catch (IOException e) {
                e.printStackTrace();
                throw e;
            }
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
                throw e;
            }
        }
    }
}
